/*
 * UnitImpl.h
 *
 *  Created on: Sep 12, 2011
 *      Author: topcoder
 */

#ifndef UNITIMPL_H_
#define UNITIMPL_H_
#include "Unit.h"
class LengthUnit : public Unit
{
public:

	virtual int getFactor() const;
	virtual string formatToString(int amount);
    virtual string formatToStringInBaseUnit(int amount);
	static LengthUnit& MILE();
	static LengthUnit& YARD();
	static LengthUnit& FEET();
private:
	LengthUnit(int factor);
	int factor;
	char out[50];
};

#define Mile LengthUnit::MILE()
#define Yard LengthUnit::YARD()
#define Feet LengthUnit::FEET()
#endif /* UNITIMPL_H_ */ 
